1. Field of the Invention
The present invention relates to a scan velocity detector for detecting the velocity at which a bar code bearing surface is scanned by a beam of light. In addition, the present invention concerns a bar code reader using the scan velocity detector.
2. Description of the Related Art
Conventionally, code readers adapted to scan codes have been used extensively with laser beams. Such code readers detect the light reflected from the code surface during scanning by a light-receiving element, such as a photodiode, so as to optically read the code. A bar code formed on a code surface, such as the surface of a package of a commodity, is an example of a type of code that is scanned in such a manner. The laser has an advantage over other light sources, such as the light-emitting diode, when used in a code reader. A narrowly collimated beam of light can be maintained over a long distance with the laser since the laser has remarkably outstanding focusing characteristics. Since resolution in code reading is determined by the size of a beam spot on the code surface, if a laser beam whose beam diameter can be narrowly collimated over a long distance is used, the range of a distance (reading range) for which reading is possible is expanded. For instance, a bar code scanner using a laser light source can read a bar code when the code surface and the device are spaced apart several dozens of centimeters. However, with a so-called pen-type scanner using a light emitting diode as a light source, reading cannot be effective unless the tip of the pen is brought into contact with the code surface.
Code readers using a laser beam include a manual scanning type shown in FIG. 6 in which the scanning of the code surface with the laser beam is effected manually and an automatic scanning type shown in FIG. 7 in which the scanning of the code surface with the laser beam is effected automatically.
For example, in the case of the manual scanning code reader shown in FIG. 6, a semiconductor laser light source 2, a lens 4 for generating a laser beam 3 by focusing the laser light generated from the semiconductor laser light source 2, and the like are accommodated in a casing 1. This casing 1 is a type which can be held in a hand 5, such as a pistol type. The casing 1 is held in a hand 5 of an operator. As the operator sweeps the casing 1 horizontally along a scan direction 8 of a bar code 7 formed on a code surface 6 with the joint of the wrist as a pivot point, for instance, the scanning of the bar code 7 is accomplished. The light reflected from the code surface 6 is received by an unillustrated light-receiving element disposed in the casing 1, and the discrimination of the bar code 7 is effected on the basis of an output of the light-receiving element.
In addition, in the case of the automatic scanning code reader in FIG. 7, a semiconductor laser light source 12; a collimator lens 13, for collimating the laser light generated from the semiconductor laser light source 12 into collimated light; a polygon mirror 17, for causing laser light 14 from the collimator lens 13 to scan a bar code 16 formed on a code surface 15; and the like are accommodated in a casing 11. This casing 11 is a type which can be held in a hand 19, such as a pistol type. The polygon mirror 17 is arranged such that the side surfaces of a regular polygon are formed as polarizing reflecting mirrors. The polygon mirror 17 is rotatively driven about its axis by an unillustrated motor. Since the direction of emergence of the laser light 14 from the casing 11 changes with time as the polygon mirror 17 rotates, the position of a beam spot on the code surface 15 thereby moves at a substantially fixed speed in the direction of arrow 18. Thus, the scanning of the bar code 16 is accomplished automatically. The laser light from the collimator lens 13 is made incident upon consecutively different polarizing reflecting surfaces as the polygon mirror 17 rotates, so that the bar code 16 is scanned repeatedly. Accordingly, by simply holding the casing 11 with a hand 19 and aiming at the bar code 16, the scanning of the bar code 16 is attained, and as the light reflected from the code surface 15 is received by the unillustrated light-receiving element in the casing 11, the reading of the bar code 16 is effected.
It is stipulated in JIS (Japanese Industrial Standards) and other bar code standards that a clear area having a certain minimum width should be provided at each opposite end of the bar code to ensure the reliability of the bar code reading. Various objects can be present in the vicinity of the bar code to be read or a surface pattern can be present on the commodity provided with the bar code. If these are scanned with the laser beam and the amount of reflected light received by the light-receiving element shows a fixed change, the objects other than the bar code can be erroneously recognized as being bar codes. If the clear area at the leading end of the bar code is detected and the bar code is discriminated on the basis of an output of the light-receiving element corresponding to an area following the clear area, it is possible to effect discrimination processing by extracting only a portion corresponding to the bar code from among the output signals of the light-receiving element.
The above-described detection of the clear area is generally effected during scanning with the laser beam by detecting that the output of the light-receiving element is not less than a fixed value and at least a predetermined time in duration. That is, a time t required for scanning the possible clear area is determined and when the time t is at least a predetermined value then the area is a clear area.
From the width d of the clear area in the scan direction and the travel velocity V of a beam spot on the code surface (hereinafter referred to as the "scan velocity"), a time tc required for scanning the clear area can be calculated using the following formula: EQU tc = d/V (1)
However, the scan velocity V is not a fixed value in the case of manual scanning or in the case of automatic scanning. Scan velocity V in the case of automatic scanning is proportional to the optical path length (read distance) of the laser beam; i.e., the distance from the light source to the code surface. With the automatic scanning code reader as is shown in FIG. 7, there is a 10-fold difference in the scan velocity V when the code surface 15 is placed at a position 5 cm from the axis of rotation of the polygon mirror 17 from when the code surface 15 is placed at a position 50 cm from the axis of rotation of the polygon mirror 17. This is because the polygon mirror 17 rotates at a fixed angular velocity. Accordingly, even if the aforementioned time t is determined and this time t is compared with a fixed value, the detection of the clear area having the fixed width d cannot necessarily be conducted satisfactorily.
If the scan velocity V can be detected, the aforementioned problem can be solved by correspondingly changing the criteria of the time t. To date, however, there has been no apparatus which has realized the detection of the scan velocity V. For this reasons, the clear area has hitherto been detected by allowing for a large margin of clear area scanning times. The probability of detection of the clear area has been poor due to the large margin. The present situation is such that it cannot be ascertained whether the detected object represents a bar code or a signal other than the bar code until the bar code discrimination processing is actually conducted. This results in the need for the clear area to be detected again. Since the bar code discrimination processing is complicated and time consuming there are many cases where the scanning position of the laser beam has already passed the clear area and the bar code area during the time of processing. In such a case, the read opening has to be carried out again. This complicates the read operation.
To avoid this drawback, it is conceivable to store all the signals of one scanning in a memory and read the signals sequentially from the memory so as to effect the detection processing of the clear area. This, however, would require a large-capacity memory as well as a complicated memory-processing circuit for processing write/read operations with respect to the memory. Hence, new problems would arise in that the circuit would become large in size,, more complicated, and more costly.